﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MusicPlayerPlus.Interface.Base.Action.Output
{
    /// <summary>
    /// (改变后事件)进度条改变
    /// </summary>
    public interface ITimeLineChangeAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<double, double> TimeLineChange_Action { set; }
    } 
    /// <summary>
    /// (主动)进度条改变
    /// </summary>
    public interface IChangeTimeLineAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<double> ChangeTimeLine_Action { set; }
    }
    /// <summary>
    /// (改变后事件)音量改变
    /// </summary>
    public interface IVolumeChangeAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<double> VolumeChange_Action { set; }
    }
    /// <summary>
    /// (主动)音量改变
    /// </summary>
    public interface IChangeVolumeAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<double> ChangeVolume_Action { set; }
    }
    /// <summary>
    /// 缓冲进度条改变
    /// </summary>
    public interface IBufferingTimeLineChangeAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<double, double> BufferingTimeLineChange_Action { set; }
    }
    /// <summary>
    /// 播放状态改变
    /// </summary>
    public interface IPlayStateChangeAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<Model.Enum.MediaPlayState> PlayStateChange_Action { set; }
    }
    /// <summary>
    /// 播放顺序改变
    /// </summary>
    public interface IPlayOrderChangeAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        Action<Model.Enum.MediaPlayPlayOrder> PlayPlayOrderChange_Action { set; }
    }
    /// <summary>
    /// 播放
    /// </summary>
    public interface IPlayAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        System.Action Play_Action { set; }
    }
    /// <summary>
    /// 暂停
    /// </summary>
    public interface IPauseAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        System.Action Pause_Action { set; }
    }
    /// <summary>
    /// 停止
    /// </summary>
    public interface IStopAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        System.Action Stop_Action { set; }
    }
    /// <summary>
    /// 上一首
    /// </summary>
    public interface IPreviousTrackAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        System.Action PreviousTrack_Action { set; }
    }
    /// <summary>
    /// 下一首
    /// </summary>
    public interface INextTrackAction
    {
        /// <summary>
        /// 需要的委托
        /// </summary>
        System.Action NextTrack_Action { set; }
    }
}